/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package kurs;

/**
 *
 * @author Matrix
 */
public interface Stack {

    public int size(); //returns Stack size(element quantity)

    public boolean isEmpty(); //returns true, is Stack is empty, else - false

    public BaseNode top()
        throws EmptyException; //returns top stack element, without his poping, exception if stack is empty

    public void push (BaseNode node); //push element in Stack

    public BaseNode pop()
        throws EmptyException; // poping top element, exception if stack is empty

    public String printState()
            throws EmptyException; //printing all Stack elements

    public BaseNode find(String info)
            throws EmptyException, NotFoundException;

}
